package com.uenpay.im.ui.old.activity.chat.manage;

import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.aswife.ui.GifImageView;
import com.aswife.ui.MaskImageView;
import com.qiyunxin.android.http.view.BubbleImageView;
import com.qiyunxin.android.http.view.BubbleRightImageView;
import com.qyx.android.weight.view.CircularProgressView;
import com.uenpay.im.view.LocationView;
import com.uenpay.im.view.PlayRecordView;
import com.uenpay.im.weight.RoundImageView;

/**
 * @author SL
 * @created 2016-4-23 下午12:03:11
 * @copyRight http://www.qiyunxin.com
 * @function 会话ViewHolder
 */
public class ChatItemViewHolder {

	/**
	 * 所有消息ViewHolder基类(所有字段共用)
	 * 
	 * @author SL
	 * 
	 */
	public class BaseViewHolder {
		/**
		 * 发送时间
		 */
		public TextView timeText;
		/**
		 * 消息头像
		 */
		public RoundImageView avatar;
		/**
		 * 消息背景
		 */
		public View group;
		/**
		 * 发送状态
		 */
		public ImageView send_status;
		/**
		 * 发送loading
		 */
		public CircularProgressView send_loading;
		/**
		 * 接受者名字
		 */
		public TextView received_name;
		/**
		 * 发送方名称
		 */
		public TextView sent_name;
	}

	/**
	 * 系统消息
	 * 
	 * @author SL
	 * 
	 */
	public class SystemViewHolder extends BaseViewHolder {
		public TextView systemText;
	}

	/**
	 * 系统时间
	 * 
	 * @author SL
	 * 
	 */
	public class TimeViewHolder extends BaseViewHolder {
	}

	/**
	 * 系统申请好友消息
	 * 
	 * @author SL
	 * 
	 */
	public class VerifMsgViewHolder extends BaseViewHolder {
		public TextView verifContentText;
	}

	/**
	 * 红包系统消息
	 */
	public class RedSystemViewHolder extends BaseViewHolder {
		public TextView redContentText;
	}

	/**
	 * 新闻消息
	 * 
	 * @author SL
	 * 
	 */
	public class NewsViewHolder extends BaseViewHolder {
		public LinearLayout news_content_layout;
	}

	/**
	 * 未读消息提示
	 * 
	 * @author SL
	 * 
	 */
	public class UnreadMsgViewHolder extends BaseViewHolder {

	}

	/**
	 * 接受文本
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedTextViewHolder extends BaseViewHolder {
		public TextView received_text;
	}

	/**
	 * 接受图片
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedImageViewHolder extends BaseViewHolder {
		public BubbleImageView received_image;
	}

	/**
	 * 接受语音
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedAudioViewHolder extends BaseViewHolder {
		public PlayRecordView received_record;
		public TextView receied_duration;
		public ImageView received_read_status;
		public CircularProgressView received_loading;
	}

	/**
	 * 接受gif图片GifViewHolder
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedGifViewHolder extends BaseViewHolder {
		public GifImageView received_gif;
	}

	/**
	 * 接受地理位置
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedLocationViewHolder extends BaseViewHolder {
		public LocationView received_location;
	}

	/**
	 * 接受文件
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedFileViewHolder extends BaseViewHolder {
		public TextView received_file_type_name;
		public TextView received_file_name;
		public TextView received_file_size;
		public TextView download_received_file_status;
	}

	/**
	 * 接受名片
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedCradViewHolder extends BaseViewHolder {
		public TextView received_crad_name_text, received_crad_type_text;
		public MaskImageView received_crad_avatar;
	}

	/**
	 * 接受红包
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedRedViewHolder extends BaseViewHolder {
		public TextView received_money_content_tv;
	}

	/**
	 * 接受的转账
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedTransferViewHodler extends BaseViewHolder {
		public TextView received_transfer_content_tv;
		public TextView received_transfer_amount;
		public TextView received_giro_source_tv;
	}

	/**
	 * 接受的众筹(江湖救急)
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedCrownFundViewHodler extends BaseViewHolder {
		public TextView received_crownfund_total_money_tv,
				received_crowndfund_memo_tv;
	}

	/***
	 * 众筹系统消息
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedCrowdFundSystemViewHodler extends BaseViewHolder {
		public TextView system_tv;
	}

	/**
	 * 接受的邀请加入群聊
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedInvitJoinGroupViewHodler extends BaseViewHolder {
		public MaskImageView received_invitation_join_group_avatar;
		public TextView received_invitation_join_group_desc;
	}

	/**
	 * 发送收经费
	 * 
	 * @author SL
	 * 
	 */
	public class SendReceiveFundsViewHodler extends BaseViewHolder {
		public TextView send_receive_funds_amount_tv;
	}

	/**
	 * 经费支出系统消息
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedFundsSystemViewHodler extends BaseViewHolder {
		public TextView system_tv;
	}
	
	/**
	 * 接受的收经费
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedReceiveFundsViewHodler extends BaseViewHolder {
		public TextView received_receive_funds_amount;
	}

	/**
	 * 接受的视频
	 */
	public class ReceivedVideoViewHodler extends BaseViewHolder {
		public BubbleImageView received_video_first_frame_image;
	}

	/**
	 * 发送的转账
	 * 
	 * @author SL
	 * 
	 */
	public class SendTransferViewHolder extends BaseViewHolder {
		public TextView send_transfer_content_tv;
		public TextView send_transfer_amount_tv;
		public TextView send_giro_source_tv;

	}

	/**
	 * 发送的众筹(江湖救急)
	 * 
	 * @author SL
	 * 
	 */
	public class SendCrownFundViewHodler extends BaseViewHolder {
		public TextView send_crownfund_total_money_tv, send_crowndfund_memo_tv;
	}

	/**
	 * 接受视频通话
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedVideoChatViewHolder extends BaseViewHolder {
		// TODO
		public TextView received_video_chat_content;
	}

	/**
	 * 接受OA类型
	 */
	public class ReceivedOAViewHolder extends BaseViewHolder {
		public MaskImageView received_oa_iv;
		public TextView received_oa_title, received_oa_content,
				received_oa_type;
	}

	/**
	 * 接受OA类型通知
	 */
	public class ReceivedOANoticeViewHolder extends BaseViewHolder {
		public TextView received_oa_notice_title, received_oa_notice_content,
				received_oa_notice_type;
	}

	/***
	 * 接受OA类型任务
	 * 
	 * @author SL
	 * 
	 */
	public class ReceivedOATaskViewHolder extends BaseViewHolder {
		public TextView received_task_title, received_task_content,
				received_task_start_date, received_task_end_date,
				received_task_grade, received_task_type;
	}

	/**
	 * 发送视频通话
	 * 
	 * @author SL
	 * 
	 */
	public class SendVideoChatViewHolder extends BaseViewHolder {
		// TODO
		public TextView send_video_chat_content;
	}

	/**
	 * 发送名片
	 * 
	 * @author SL
	 * 
	 */
	public class SendCradViewHolder extends BaseViewHolder {
		public TextView send_crad_name_text, send_crad_type_text;
		public MaskImageView send_crad_avatar;
	}

	/**
	 * 发送文本
	 * 
	 * @author SL
	 * 
	 */
	public class SendTextViewHolder extends BaseViewHolder {
		public TextView send_text;
	}

	/**
	 * 发送图片
	 * 
	 * @author SL
	 * 
	 */
	public class SendImageViewHolder extends BaseViewHolder {
		public BubbleRightImageView send_image;
	}

	/**
	 * 发送GIF
	 * 
	 * @author SL
	 * 
	 */
	public class SendGifViewHolder extends BaseViewHolder {
		public GifImageView send_gif;
	}

	/**
	 * 发送语音
	 * 
	 * @author SL
	 * 
	 */
	public class SendAudioViewHolder extends BaseViewHolder {
		public PlayRecordView send_record;
		public TextView send_duration;
	}

	/**
	 * 发送地理位置
	 * 
	 * @author SL
	 * 
	 */
	public class SendLocationViewHolder extends BaseViewHolder {
		public LocationView send_Location;
	}

	/**
	 * 发送文件
	 * 
	 * @author SL
	 * 
	 */
	public class SendFileViewHolder extends BaseViewHolder {
		public TextView send_file_type_name;
		public TextView send_file_name;
		public TextView send_file_size;
		public TextView send_file_status;
	}

	/**
	 * 发送红包
	 * 
	 * @author SL
	 * 
	 */
	public class SendRedViewHolder extends BaseViewHolder {
		public TextView send_money_content_tv;
	}

	/**
	 * 发送的视频
	 */
	public class SendVideoViewHolder extends BaseViewHolder{
		public MaskImageView send_video_first_frame_image;
	}

	/**
	 * 接受的邀请加入群聊
	 * 
	 * @author SL
	 * 
	 */
	public class SendInvitJoinGroupViewHodler extends BaseViewHolder {
		public TextView send_invi_join_group_desc;
		public MaskImageView send_invi_join_group_avatar;
	}

	/**
	 * 发送OA类型消息
	 */
	public class SendOAViewHolder extends BaseViewHolder {
		public MaskImageView send_oa_iv;
		public TextView send_oa_title, send_oa_content, send_oa_type;
	}

	/**
	 * 发送OA类型通知
	 * 
	 * @author SL
	 * 
	 */
	public class SendOANoticeViewHolder extends BaseViewHolder {
		public TextView send_oa_notice_title, send_oa_notice_content,
				send_oa_notice_type;
	}

	/**
	 * 发送OA类型任务
	 * 
	 * @author SL
	 * 
	 */
	public class SendOATaskViewHolder extends BaseViewHolder {
		public TextView send_task_title, send_task_content,
				send_task_start_date, send_task_end_date, send_task_grade,
				send_task_type;
	}

}
